#ifndef AGX_KIT_H
#define AGX_KIT_H

#include <string>
#include <iostream>
#include <fstream>

class AGXKit {
public:
    std::string model = "AGX Xavier";
    std::string ai = "32 TOPS";
    int cuda_cores = 512;
    int tensor_cores = 64;
    std::string vram = "32G";
    std::string storage = "32G";

    // Set methods
    void setModel(const std::string& model);
    void setAI(const std::string& ai);
    void setCudaCores(int cuda_cores);
    void setTensorCores(int tensor_cores);
    void setVRAM(const std::string& vram);
    void setStorage(const std::string& storage);

    // Print and save methods
    void print() const;
    void save(std::ofstream& out) const;
};

#endif // AGX_KIT_H